Two Part Code

ABSTRACT

A graphically representable, machine readable code having first and second parts wherein the first part may be associated with data and a second part may be associated with the first part, such that a relationship between the parts, or lack thereof may be discerned by reading both parts of the code, in order to verify the authenticity of the code.

CROSS REFERENCE TO RELATED APPLICATION

This is a continuation application of Ser. No. 12/408,328 filed Mar. 20,2009 entitled “Two Part Code” which is a division of Ser. No.11/542,300, filed Oct. 2, 2006 entitled “Two Part Code” which is aNational filing of a corresponding co-pending application filed in theUnited Kingdom as U.K. Serial No. GB05200654, filed Oct. 3, 2005,entitled “Two Part Code” for which priority is claimed and which areincorporated herein by reference.

BACKGROUND OF THE INVENTION

The present invention relates to codes and is concerned particularlywith codes having two parts, which two parts are related.

Graphic, machine-readable codes are commonly used, for example, toidentify articles such as consumer products. Several popular codes arecurrently used, including one and two-dimensional barcodes andmatrix-style codes. In each case the code is applied to an article andenables the article to convey information about itself such as theidentity of the manufacturer, and the article type.

One sophisticated type of machine readable code is described In our UKPatent No. GB 2383878 (the entire contents of which are incorporatedherein by reference) and commercially available under the trade markFracture Code (RTM). Advantages of this type of code over othercommercial machine-readable codes include a very high population ofpossible distinct codes as well as the ability to generate unique codesat very high speed.

Articles, such as consumer products or their packaging, are marked withsuch codes. In order to obtain information about the article, the codemust be read by a machine which first performs a scanning operation toacquire digitally an image of the code. The image Is then processedelectronically to derive, via application of an algorithm, analphanumeric character string that may be used to look up datacorresponding to the article in a database.

Another major advantage of this code is the difficulty with which thecode may be copied. The code, which typically comprises a rectangularbox delimiting a series of intersecting lines, Is difficult to copy tothe degree of accuracy needed such that when read by a machine the samealphanumeric character string would be generated. This feature is partlya function of the level of detail, including thicknesses of lines andaccuracy of angles therebetween, at which the scanning equipmentacquires the image during reading. A further difficulty for would-becounterfeiters, is that many of the codes used are no more than 1 mm by1 mm in area and may be printed in ultraviolet inks, infrared Inks orother security Inks.

A major security advantage of such codes is the fact that at the time oftheir creation they carry no information whatsoever, but must bescanned, converted into an alphanumeric character string using thealgorithm and then related to data held in a database. Only then do theybecome meaningful.

Thus, without the algorithm, there is no way of deriving theinformation. A corresponding benefit is that even if a code can bereproduced accurately it cannot be applied to a different product fromthat to which it was originally applied without this fact becomingimmediately detectable by a person undertaking a legitimatescanning/lookup operation.

SUMMARY OF THE INVENTION

Embodiments of the present invention aim to provide a machine-readablecode for associating data with articles, the authenticity of which codemay be verified without obtaining the article data with which the codeis associated.

Embodiments of the invention also aim to provide a code, for associatingarticles with data stored in a database, in which the data may beobtained at a faster rate than has previously been possible.

In accordance with one aspect of the present invention there is provideda graphically representable, machine readable code having first andsecond parts wherein a first part may be associated with data and asecond part may be associated with the first part, such that arelationship between the parts, or lack thereof, may be discerned byreading both parts of the code, in order to verify the authenticity ofthe code.

The invention also includes a method of verifying—the authenticity orlack of authenticity of a graphically representable machine readablecode, wherein the code comprises a first part and a second part, themethod comprising reading both the first part and the second part of thecode and determining whether the two parts of the code are related, andverifying that the code is authentic in the event that the two parts arerelated, or verifying that the code is not authentic in the event thatthe two parts are not related.

The invention also includes a code system for associating data witharticles, the system comprising means for generating graphic codes forapplication to articles, machine means for reading the codes to converteach code into a string of characters, and storage means arranged tostore data associated with each code, wherein the codes each comprise afirst part and a second part, wherein said system includes a populationN of codes having, within said population, unique first parts, andwherein within the system a population n of the codes has unique secondparts, wherein N>n, and wherein for each code the first portion and thesecond portion are related, such that a number N/n of codes share thesame second parts but have unique first parts.

Preferably the relationship between the first and second parts of thecodes is detectable by a machine reading both parts and performing amathematical operation on the two parts to discern whether they arerelated.

N/n codes, having distinct first parts N share common second parts n.Upon reading of both parts of the code it is possible to determinewhether, for that particular code, the first part is one of the set offirst parts that has the relationship with the read second part. If theparts are related this suggests that the code may be genuine. If theparts are unrelated then the code is definitely unauthentic.

The relationship between the first and second. parts of the codes ispreferably a function of the generation process by which the first partswere created. For example, the second part of the code may represent oneor more characteristics of a batch of first parts. such as arelationship between intersecting lines, which is common to all of thefirst parts in that particular batch of codes.

Thus, provided that future machine-reading of the two portions of thecode is performed in a consistent, approved manner, it is possible todetect a mismatch between the first and second parts which mismatchwould suggest an unauthorized or counterfeit code.

In another aspect the invention provides a method of looking up a codein a database to determine data associated with the code, wherein thecode comprises first and second parts (F and S) wherein the first part(F) is associated with data in the database and is one of a set N ofsuch first parts, and the second part (8) is related to the first partand is one of a set n of such second parts, N being much greater than n,the method comprising looking up in the database the second part (S) ofthe code among the population n, and then looking up the first part (P)of the code within the subset N/n of first parts which share the samesecond part (S).

Since each code has a second part which belongs in set n, and since eachindividual second part has associated with it a large number of firstparts, the unique codes may be grouped together in a database accordingto their shared second parts. Codes can thus be identified in a databaseby first looking for the subset of codes that has the shared commonsecond part and then searching within the range n for the unique firstpart. This can speed up the search as compared with searching the entirepopulation N.

The invention also includes any combination of the features andlimitations herein, except combinations of such features as are mutuallyexclusive.

BRIEF DESCRIPTION OF THE DRAWING

A preferred embodiment of the present invention will now be describedwith reference to the accompanying diagrammatic drawings in which:

FIG. 1 shows a two-part code, in accordance with an embodiment of theinvention,

FIG. 2 shows schematically a reader apparatus for reading two-partcodes,

FIG. 3 is a flow diagram depicting a reading operation of the apparatusof FIG. 2, and

FIG. 4 is a flow diagram depicting a search process according to anotherembodiment of the present invention.

DETAILED DESCRIPTION OF EMBODIMENTS OF THE INVENTION

Turning to FIG. 1, this shows generally at 10 a two-part code printed ona substrate 12. The two-part code 10 comprises a first part 14 and asecond part 16 which are separated by a portion 12 a of the substrate12. In this case the first part 14 occupies a first, generallyrectangular area and the second part 16 occupies a second, smallergenerally rectangular area. The relative sizes of the first and secondareas, and/or their shape, could be different from the example shown.

Inside the area occupied by the first part 14 is a plurality of straightlines, at least some of which intersect each other. In this example thefirst part of the two-part code comprises a composite indicium such asis described in our UK Patent No. GB 2383878 B and sold commerciallyunder the trade mark FractureCode (RTM) and for which there is currentlya co-pending U.S. application, Ser. No. 10/383,185. Whilst the exampleis of a plurality of intersecting lines, this type of code mightcomprise other elements or shapes such as dots, rectangles or ellipsesor a combination of such elements and/or shapes.

In the example, the second part of the code comprises a two dimensionalbar code such as a data matrix code. In practice the second part of thecode could be almost any of the currently known codes referred tocollectively as “bar codes” and including, but not limited to such codesas: Data Matrix, PDF-417, Micro-PDF-417, QR Code, EAN, MaxiCode,Codabar, RSS, UPC and Interleaved 2 of 5.

Codes of the type used for the first part have a very high population ofunique Individuals. That is to say that a very large number of uniquecomposite indicia, each being convertible using an algorithm into aunique alphanumeric character string, exists. Codes of the type used forthe second part typically have a much lower population of uniqueindividuals. Both first and second parts of the two-part code may beprinted on the substrate, using either conventional inks or covert inks,such as are detectable only when illuminated, or irradiated, with lightof a certain frequency range.

FIG. 2 shows, schematically, a hand-held reading apparatus for readingthe two-part codes 10. An image acquisition device 20, which includes acamera (not shown) is used to acquire an image of the code being read.The acquired image is error-corrected and enhanced electronically in anerror correction and image enhancement unit 22 before being fed to anelectronic controller 24. The controller 24 applies algorithms to thefirst and second parts of the two-part code, to produce first and secondrespective character strings. The controller 24 then accesses a memory26, in the form of a look-up table, to look up the second characterstring—i.e. the character string associated with the second part (16) ofthe two part code. From the look-up table in memory 26 the controller isthen able to determine whether the first character string - Le. of thefirst part of the two part code—is one of the many first parts which isassociated with the second character string. In other words, byperforming a look-up function and then comparing the first and secondcharacter strings obtained respectively from the first and second partsof the cods, the controller is able to verify whether the first part ofthe code (being a unique one among a very large population N) belongs tothe sub-set of such first parts which is associated with the second partwhich has been read and is the subject of the look-up operation.

A display device 28 such as for example an LCD panel. is used to providean indication of the results, which might for example be a messageindicating [AUTHENTIC} if the first and second parts are associated, ormight be [FAKE} if the first and second parts are not associated.

The controller 24, memory 26 and display device 28 could be separatefrom the image acquisition device 20 and the unit 22, and may forexample be constituted in a PC or PDA.

The UK patent referred to above describes one technique for deriving acharacter string from a composite indicium such as is used to form thefirst part of the code in accordance with an embodiment of the presentInvention. Minutiae of the composite indicium maybe associated withintersections of different oblique lines. The locations of theintersections relative to a reference feature. and optionally the anglesbetween the intersecting lines and/or the thicknesses of certain of thelines, can all be processed to produce an alphanumeric character string.As stated above, a very large number. perhaps 1030 or more of uniquecomposite indicia - i.e. first parts of the two-part code may becreated.

One or more characters in the string can be encoded and included in thesecond part of the code, so that upon decoding the second part of thecode it is possible to tell quickly, by reference to a look up table,whether a particular first part “belongs” with the second part beingconsidered.

Of course, the primary purpose of the two - part code is to carryinformation about the article with which it is associated. For example,the second part of the code may include information such as the name ofthe manufacturer and the type of product. The first part of the codewhich may have a unique character string associated therewith and may,when looked up In the database, yield far more information, such as thefactory in which the article was manufactured, the date and time ofmanufacture and the intended destination, price and so on.

It will be appreciated that the first parts of the two part code arecreated first and then subsequently have data attributed to them in adatabase.

The second part of the code is created purposefully to include someidentifiable characteristics of the first part. However. withoutapplying the algorithm to the first part of the code. the uniquealphanumeric character string associated with it cannot be reproducedand hence the second part of the code cannot be designed to “match” thefirst part. Therefore, without possession of the algorithm it is notpossible to produce an authorized two-part code in which the first andsecond parts are verifiably appropriately matched.

FIG. 3 shows schematically in a flow diagram a process forauthenticating the two part code. At step 30, the two part code isscanned and an image (of both parts) is acquired. At step 32 a processof error correction and image enhancement is performed electronically.At step 34 the second part of the code is obtained and at step 36 thesecond part is looked up in a look-up table of a database. At step 38the first part of the code Is obtained using the appropriate algorithmand at step 40 a comparison of the first and second parts of the code ismade to verify whether the two parts are associated. If the judgment isYES then at step 42 a positive indication is displayed. such as[AUTHENTIC]. On the other hand, if the determination at step 40 is thatthe first and second parts of the code are not associated then at step44 a negative indication, such as [FAKE] is displayed.

It will be appreciated that the apparatus and method described above areconcerned only with determining whether or not the two-part code isauthentic. However, the code itself is used mainly to access informationabout articles with which it is associated. In order to do so, areference must be made to a large database which contains many uniquealpha numeric character strings, each including Information associatedwith an article.

The hand-held reader device of the present invention may include such adatabase, though such is not included in the embodiment described above.More likely is that the database will be located elsewhere and may, forexample, be accessed remotely such as by using an Internet or othernetwork connection.

Since the database may contain a very large number of unique entries,comprising unique character strings derivable from respective uniquefirst parts. the searching of the database may take considerable time.In order to lower the time taken to look up each unique entry, inaccordance with an embodiment of the present invention a database,holding unique character strings derived from unique first parts of thetwo part code, groups the unique character strings in regions of thedatabase according to their corresponding second part, which may be farfewer in number. Thus, when looking up a particular first part the lookup process initially involves accessing that part of the databasecorresponding to the second part of the code. Then a search for the dataassociated with the unique character string derived from the uniquefirst part of the code may be made among a far smaller number of suchunique character strings.

FIG. 4 shows schematically a look up method as a flow diagram. In a step50 an image of both of the first and second parts of the two part codeis scanned and electronically acquired. At step 52 the acquired image iserror corrected and enhanced. At step 54 the first part of the code isobtained and at step 56 the second part is obtained. The second part ofthe code obtained at step 56 is then looked up in a main database atstep 58 and the sub-region of the main database in which the second partis located is identified at step 60. At step 62 the first part of thecode, obtained at step 54, is looked up in the sub-region of thedatabase identified at step 60 and at step 64 the full data associatedwith the two part code is output to the user. This process is an orderof magnitude faster than searching all of the first parts sequentiallyin the database.

While various embodiments of the invention have been disclosed, it is tobe understood that the invention is not so limited and that theinvention is limited only by the following claims and equivalentsthereof.

1. A graphically representable, machine readable code having first andsecond parts wherein the first part may be associated with data and asecond part may be associated with the first part, such that arelationship between the parts, or lack thereof may be discerned byreading both parts of the code, in order to verify the authenticity ofthe code.
 2. A method of verifying the authenticity or lack ofauthenticity of a graphically representable machine readable code,wherein the code comprises a first part and a second part the methodcomprising machine-reading both the first part and the second part ofthe code and determining whether the two parts of the code are related,and verifying that the code is authentic in the event that the two partsare related, and verifying that the code is not authentic in the eventthat the two parts are not related.
 3. A method of verifying theauthenticity or lack of authenticity of a graphically representablemachine readable code, wherein the code comprises a first part and asecond part the method comprising the steps of inputting into one ormore machine reading devices the first part and the second part of thecode, converting the two parts of the code by a controller device to astorage format to thereby characterize each part, comparing eachcharacterized part to stored information of authentic code partsmaintained in a memory device, and providing an output from the memorydevice comparison indicating whether the parts are recognized byinformation stored in said memory device.